package qc.common.core.enums.qms;

import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * QMS告警分类枚举
 *
 * @author QuCheng Tech
 * @since 2025/10/20
 */
@Getter
@AllArgsConstructor
public enum QmsAlarmCategoryEnum {
    //数据不合理判别、运行状态、缺数插补
    /**
     * 点号数据值超上下限有效值，自动使用上下限值进行修正
     * 点号数据值超过点号或者监测要素中设置的上限值或下限值
     */
    POINT_DATA_VALUE_OUT_OF_RANGE(10, "数据值超有效范围"),
    /**
     * 点号数据值不合理判定告警
     */
    POINT_DATA_VALUE_IRRATIONAL(11, "数据值不合理"),
    /**
     * 数据缺失告警，可以是原始采集数据、点号数据、交换数据等数据缺失
     */
    MISSING_DATA(12, "缺数"),
    /**
     * 硬件设备故障告警
     */
    HARDWARE(20, "硬件"),
    /**
     * 软件/服务故障告警，软件/服务停止或未运行时告警
     */
    SOFTWARE(20, "软件/服务"),
    /**
     * 网络等通道中断、故障告警
     */
    CHANNEL(20, "通道");

    @EnumValue
    private int index;
    private String name;

    @Override
    public String toString() {
        if (this != null)
            return this.name;

        return null;
    }
}
